/*
 * Partida.h
 *
 *  Created on: 10/11/2012
 *      Author: Ignacio Galvez
 */
#ifndef PARTIDA_H_
#define PARTIDA_H_ 
#include <list>
#include "HuevoBlanco.h"
#include "HuevoPoche.h"
#include "HuevoCodorniz.h"
#include "HuevoReloj.h"
#include "PajaroRojo.h"
#include "PajaroAzul.h"
#include "PajaroVerde.h"
#include "Cerdito.h"
#include "MonticuloDeHuevos.h"
#include "CajaMetal.h"
#include "CajaMadera.h"
#include "CajaDeVidrio.h"
#include "Manzana.h"
#include "Banana.h"
#include "Cereza.h"


class Partida {
public:
	Partida(double timeout, double tiempoActual);
	void iniciar();
	void pausar();
	void reanudar();
	void show();
	bool estaEnPausa();
	void agregarHuevos(std::list<Huevo*> huevos);
	void agregarCajas(std::list<Caja*> cajas);
	void agregarBonificables(std::list<Bonificable*> bonificables);
	void agregarPajaros(std::list<Pajaro*> pajaros);
	void agregarCerditos(std::list<Cerdito*> cerditos);
	~Partida();
private:
	bool pausa;
	double timeout;
	double tiempoActual;
	std::list<HuevoBlanco> huevosBlancos;
	std::list<HuevoCodorniz> huevosCodorniz;
	std::list<HuevoPoche> huevosPoche;
	std::list<HuevoReloj> huevosReloj;
	std::list<PajaroRojo> pajarosRojos;
	std::list<PajaroAzul> pajarosAzules;
	std::list<PajaroVerde> pajarosVerdes;
	std::list<Cerdito>  cerditos;
	std::list<CajaMetal> cajasMetal;
	std::list<CajaMadera> cajasMadera;
	std::list<CajaDeVidrio> cajasDeVidrio;
	std::list<Manzana> manzanas;
	std::list<Cereza> cerezas;
	std::list<Banana> bananas;
};




#endif /* PARTIDA_H_ */